﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace MOMKeLABS.Controls.Window
{
    public partial class WindowStatusBar : UserControl
    {

        public static readonly DependencyProperty StatusTextProperty =
            DependencyProperty.Register(
            "StatusText", typeof(string),
            typeof(WindowStatusBar), null);

        public static readonly DependencyProperty StatusTextVisibilityProperty =
            DependencyProperty.Register(
            "StatusTextVisibility", typeof(Visibility),
            typeof(WindowStatusBar), null);

        public static readonly DependencyProperty StatusProgressBarValueProperty =
            DependencyProperty.Register(
            "StatusProgressBarValue", typeof(int),
            typeof(WindowStatusBar), null);

        public static readonly DependencyProperty StatusProgressBarVisibilityProperty =
            DependencyProperty.Register(
            "StatusProgressBarValue", typeof(Visibility),
            typeof(WindowStatusBar), null);

        public static readonly DependencyProperty StatusProgressBarMaxValueProperty =
            DependencyProperty.Register(
            "StatusProgressBarMaxValue", typeof(int),
            typeof(WindowStatusBar), null);

        public static readonly DependencyProperty StatusProgressBarMinValueProperty =
            DependencyProperty.Register(
            "StatusProgressBarMinValue", typeof(int),
            typeof(WindowStatusBar), null);

        public int StatusProgressBarMaxValue 
        {
            get 
            {
                return (int)GetValue(StatusProgressBarMaxValueProperty);
            }
            set 
            {
                SetValue(StatusProgressBarMaxValueProperty, value);
            }
        }

        public int StatusProgressBarMinValue
        {
            get
            {
                return (int)GetValue(StatusProgressBarMinValueProperty);
            }

            set
            {
                SetValue(StatusProgressBarMinValueProperty, value);
            }
        }

        public string StatusText
        {
            get
            {
                return (string)GetValue(StatusTextProperty);
            }

            set
            {
                SetValue(StatusTextProperty, value);
            }
        }

        public Visibility StatusTextVisibility
        {
            get
            {
                return (Visibility)GetValue(StatusTextVisibilityProperty);
            }

            set
            {
                SetValue(StatusTextProperty, value);
            }
        }

        public int StatusProgressBarValue
        {
            get
            {
                return (int)GetValue(StatusProgressBarValueProperty);
            }

            set
            {
                SetValue(StatusProgressBarValueProperty, value);
            }
        }

        public Visibility StatusProgressBarVisibility
        {
            get
            {
                return (Visibility)GetValue(StatusProgressBarVisibilityProperty);
            }

            set
            {
                SetValue(StatusProgressBarVisibilityProperty, value);
            }
        }


        public WindowStatusBar()
        {
            InitializeComponent();

            this.DataContext = this;
        }


    }
}
